package nowCoder;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class HJ21 {
    /*
        描述
    现在有一种密码变换算法。
    九键手机键盘上的数字与字母的对应： 1--1， abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0，把密码中出现的小写字母都变成九键键盘对应的数字，如：a 变成 2，x 变成 9.
    而密码中出现的大写字母则变成小写之后往后移一位，如：X ，先变成小写，再往后移一位，变成了 y ，例外：Z 往后移是 a 。
    数字和其它的符号都不做变换。
    数据范围： 输入的字符串长度满足  1≤n≤100
    输入描述： 输入一组密码，长度不超过100个字符。

    输出描述： 输出密码变换后的字符串
     */
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);

        String x = in.nextLine();
        for(int i = 0 ; i < x.length() ; i ++){
            char m = x.charAt(i);
            if(m >= '0' && m <= '9')System.out.print(m);
            else if(m == 'a' || m == 'b' || m == 'c')System.out.print(2);
            else if(m == 'd' || m == 'e' || m == 'f')System.out.print(3);
            else if(m == 'g' || m == 'h' || m == 'i')System.out.print(4);
            else if(m == 'j' || m == 'k' || m == 'l')System.out.print(5);
            else if(m == 'm' || m == 'n' || m == 'o')System.out.print(6);
            else if(m == 'p' || m == 'q' || m == 'r' || m == 's')System.out.print(7);
            else if(m == 't' || m == 'u' || m == 'v')System.out.print(8);
            else if(m == 'w' || m == 'x' || m == 'y' || m == 'z')System.out.print(9);
            else if(m >= 'A' && m <= 'Y')System.out.print((char)(m+33));
            else if(m == 'Z')System.out.print("a");
        }
    }
    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
        Map<Character, Character> map = new HashMap<>();
        map.put('a', '2');
        map.put('b', '2');
        map.put('c', '2');
        map.put('d', '3');
        map.put('e', '3');
        map.put('f', '3');
        map.put('g', '4');
        map.put('h', '4');
        map.put('i', '4');
        map.put('j', '5');
        map.put('k', '5');
        map.put('l', '5');
        map.put('m', '6');
        map.put('n', '6');
        map.put('o', '6');
        map.put('p', '7');
        map.put('q', '7');
        map.put('r', '7');
        map.put('s', '7');
        map.put('t', '8');
        map.put('u', '8');
        map.put('v', '8');
        map.put('w', '9');
        map.put('x', '9');
        map.put('y', '9');
        map.put('z', '9');
//        while (in.hasNext()) { // 注意 while 处理多个 case
        String a = "YUANzhi1987";
        char[] y = new char[a.length()];
        for (int i = 0; i < a.length(); i++) {
            int x = (int) a.charAt(i);
            if (x >= 97 && x <= 122) {
                y[i] = map.get(a.charAt(i));
            } else if (x >= 65 && x <= 90) {
                y[i] = (char) (x + 1 + 32 == 123 ? 97 : x + 1 + 32);
            } else {
                y[i] = a.charAt(i);
            }
        }
        System.out.print(y.toString());
//        }
    }
}
